package com.xuecheng.api.media;

import com.xuecheng.api.media.model.dto.MediaDTO;
import com.xuecheng.api.media.model.qo.QueryMediaModel;
import com.xuecheng.api.media.model.vo.MediaVo;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.common.domain.response.RestResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

@Api("媒资管理API")
public interface MediaApi {

    @ApiOperation("分页查询媒资列表")
    PageVO<MediaDTO> queryMediaList(PageRequestParams params, QueryMediaModel model);

    @ApiOperation("创建媒资信息")
    MediaDTO createMedia(MediaVo vo);

    @ApiOperation("根据媒资ID查询媒资信息")
    @ApiImplicitParam(name = "mediaId", value = "媒资ID", required = true, dataType = "Long", paramType = "path", example = "1")
    RestResponse<MediaDTO> getMediaById4Service(Long mediaId);

    @ApiOperation("根据ID删除媒资信息")
    void removeMediaById(Long mediaId);
}
